<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>default、default_if_none、first、last、floatformat</title>
</head>
<body>
    <h3>default</h3>
    <h4>如果值被评估为False。比如[]，""，None，{}等这些在if判断中为False的值，都会使用default过滤器提供的默认值</h4>
    <p>{{ value|default:'暂无数据' }}</p>
    <hr>
    <h3>default_if_none</h3>
    <h4>如果值是None，那么将会使用default_if_none提供的默认值。这个和default有区别，default是所有被评估为False的都会使用默认值。而default_if_none则只有这个值是等于None的时候才会使用默认值</h4>
    <p>{{ value_if_none|default_if_none:'this is a None' }}</p>
    <hr>
    <h3>first</h3>
    <h4>返回列表/元组/字符串中的第一个元素</h4>
    <p>{{ books|first }}</p>
    <hr>
    <h3>last</h3>
    <h4>返回列表/元组/字符串中的最后一个元素</h4>
    <p>{{ authors|last }}</p>
    <hr>
    <h3>floatformat</h3>
    <h4>使用四舍五入的方式格式化一个浮点类型。如果这个过滤器没有传递任何参数。那么只会在小数点后保留一个小数，如果小数后面全是0，那么只会保留整数。当然也可以传递一个参数，标识具体要保留几个小数</h4>
    <p>默认保留一位小数</p>
    <p>{{ num1|floatformat }}</p>
    <p>保留3位指定小数</p>
    <p>{{ num2|floatformat:3 }}</p>
</body>
</html>